package com.itheima.Regexdemo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author zhangbaiyan
 * @date 2024-08-20 15:35
 * @description:
 * @version:
 */
public class test4 {
    public static void main(String[] args) {

        //需求1:爬取版本号为8,11,17的Java文本,但只要Java,不显示版本号
        //需求2:爬取版本号为8,11,17的Java文本.正确爬取结果为:Java8 Java11 Java17 Java17
        //需求3:爬取除了版本号为8,11,17的Java文本

        String str = "java自从92年问世以来,经历了很多版本,目前企业中用的最多的Java8和Java11" +
                "因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";
        //1.定义正则表达式
        //?理解为前面的数据java
        //=表示Java后面跟随的数据
        //但是在获取的时候,只获取前半部分
        String regStr = "Java(?=8|11|17)";
        //2.需求2:
        String regStr2 = "((?i)Java)(8|11|17)";
        String regStr3 = "((?i)Java)(?:8|11|17)";
        //需求3
        String regStr4 = "((?i)Java)(?!8|11|17)";

        Pattern p = Pattern.compile(regStr4);

        Matcher m= p.matcher(str);
        while (m.find()){
            System.out.println(m.group());
        }
    }
}
